usb: dwc_otg: fix memory corruption in dwc_otg driver
authorPaul Zimmerman <Paul.Zimmerman@synopsys.com>
Tue, 4 Feb 2014 19:21:24 +0000 (11:21 -0800)
committerPhil Elwell <pelwell@users.noreply.github.com>
Wed, 28 Mar 2018 13:05:16 +0000 (14:05 +0100)
commit1ad1d52e6cb6a9fcee5d3fb08258b417ffda37fd
treedc108efed3a0a77fda5b41264db38bdd6bb102a2
parenta7b4dd27c1c0d6510b8066b91ef01be0928d8529
usb: dwc_otg: fix memory corruption in dwc_otg driver

[Upstream commit 51b1b6491752ac066ee8d32cc66042fcc955fef6]

The move from the staging tree to the main tree exposed a
longstanding memory corruption bug in the dwc2 driver. The
reordering of the driver initialization caused the dwc2 driver
to corrupt the initialization data of the sdhci driver on the
Raspberry Pi platform, which made the bug show up.

The error is in calling to_usb_device(hsotg->dev), since ->dev
is not a member of struct usb_device. The easiest fix is to
just remove the offending code, since it is not really needed.

Thanks to Stephen Warren for tracking down the cause of this.

Reported-by: Andre Heider <a.heider@gmail.com>
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[lukas: port from upstream dwc2 to out-of-tree dwc_otg driver]
Signed-off-by: Lukas Wunner <lukas@wunner.de>
drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c